Theft-deterrence method and apparatus for processor based devices

ABSTRACT

A manageability engine of a processor based device and a host theft-deterrence agent of the processor based device, jointly implement a theft-deterrence protocol with a theft-deterrence service, remotely disposed from the processor based device, to deter theft of the processor based device. The host theft-deterrence agent is configured to operate in a processor operated application execution environment of the processor based device, and the manageability engine is configured to operate outside the application execution environment.

TECHNICAL FIELD

Embodiments of the present invention relate to the field of data processing, in particular, to methods and apparatuses for deterring theft of processor based devices.

BACKGROUND

With the advance of personal computing, making available computing power that was once reserved for main frame computing to ever increasing number of computing users, unfortunately, the theft of processor based devices, from desktops to mobile devices, has also increased. Prior art methods to deter or prevent theft have included physically securing the processor based devices to larger stationery objects to prevent the processor based devices from being stolen. For recovery, prior art also included services for recovering stolen devices via law enforcement agencies.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:

FIG. 1 illustrates an overview of various embodiments of the present invention;

FIG. 2 illustrates selected operations of selected components to provide a processor based device with a theft status of the processor based device, in accordance with various embodiments of the present invention;

FIG. 3 illustrates selected operations of selected components to lock down or unlock a processor based device with a stolen theft status, in accordance with various embodiments of the present invention;

FIG. 4 illustrates selected operations of selected components for a processor based device to subscribe for the theft-deterrence service, in accordance with various embodiments of the present invention; and

FIG. 5 illustrates an example computer system suitable for use to practice various embodiments of the present invention.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Illustrative embodiments of the present invention include, but are not limited to, methods and apparatuses for deterring theft of processor based devices.

Various aspects of the illustrative embodiments will be described using terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. However, it will be apparent to those skilled in the art that alternate embodiments may be practiced with only some of the described aspects. For purposes of explanation, specific numbers, materials, and configurations are set forth in order to provide a thorough understanding of the illustrative embodiments. However, it will be apparent to one skilled in the art that alternate embodiments may be practiced without the specific details. In other instances, well-known features are omitted or simplified in order not to obscure the illustrative embodiments.

Further, various operations will be described as multiple discrete operations, in turn, in a manner that is most helpful in understanding the illustrative embodiments; however, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations need not be performed in the order of presentation.

The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment; however, it may. The terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise. The phrase “A/B” means “A or B”. The phrase “A and/or B” means “(A), (B), or (A and B)”. The phrase “at least one of A, B and C” means “(A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C)”. The phrase “(A) B” means “(B) or (A B)”, that is, A is optional.

FIG. 1 illustrates an overview of various embodiments of the present invention. As illustrated, each processor based device 102 (also referred interchangeably as client device) is provided with a theft-deterrence enabled manageability engine 112 and host theft-deterrence agent 114. In particular, manageability engine 112 and host theft-deterrence agent 114 are configured to jointly implement a theft-deterrence protocol with a theft-deterrence service 122, remotely disposed from client device 102, to deter theft of the client device 102. Theft-deterrence service 122 may be implemented on one or more remotely disposed servers 106. Client devices 102 may be coupled to server(s) 106 via one or more networks 104.

As will be described in more detail below, the theft-deterrence protocol includes manageability engine 112 periodically requesting a heartbeat message 134, including the current theft status of the client device 102, from the theft-deterrence service 122. And manageability engine 112 enforces one or more theft-deterrence policies on the client device 102, based at least in part on the theft status obtained from theft-deterrence service 122. Host theft-deterrence agent 114 is configured to assist manageability engine 112, including e.g. determining whether network 104 is accessible and/or obtaining from a user a secret to unlock client device 102, in the event client device 102 is locked down.

In various embodiments, the theft-deterrence policy may comprise locking a client device (102). In other embodiments, the theft-deterrence policy may alternatively or additionally comprise partially disabling the client device (102), shredding or deleting data from the client device (102), notify an owner of the client device (102), and/or notify a technical support group supporting the client device (102)

For the illustrated embodiments, host theft-deterrence agent 114 is configured to operate in a processor operated application execution environment of the client device 102, whereas manageability engine 112 is configured to operate outside the application execution environment. Client device 102 may have one or more processor operated application execution environments, virtual or otherwise.

Further, client device 102 may be any one of a number of processor based devices, including but are not limited to desktop computing devices, portable computing devices (laptops as well as handhelds), set-top boxes, and game consoles. Handhelds may include, but are not limited to, personal digital assistants, digital cameras, media players, and mobile phones. Server 106 may be any number of servers, including but are not limited to blade servers. Networks 104 may include one or more private and/or public, wire line based and/or wireless, local and/or wide area networks.

Additionally, for the illustrated embodiments, each client device 102 may include a basic input/output system (BIOS) 103 configured to cooperate with manageability engine 112 in implementing the theft-deterrence policies on client device 102, including but not limited to locking down the client device 102 or recovering the unlocking key from the device 102, when the theft status of the client device 102 is stolen.

In various embodiments, each client device 102 may further include a browser 104, whereas theft-deterrence service 122 may further include a subscription function 132 to facilitate the client devices 102 in subscribing with theft-deterrence service 122 or canceling that service. Theft-deterrence service 122 may be a pay or a free service, or combination thereof. For the embodiments, server(s) 106 hosting the theft-deterrence service 122 may include one or more databases 124 to store the subscribers and/or subscription related information. The databases 124 may be stored in one or more persistent storage, such as disk storage.

These and other aspects of the various embodiments, including the various elements and the manner the elements cooperate with each other to deter theft of the client devices 102, will be described in further details in turn below.

Referring now to FIG. 2, wherein selected operations of selected components for obtaining/providing the theft status of a client device are illustrated. As shown, during operation, for the embodiments, manageability engine 112 awaits for the expiration of a request timer (RT) value, 202. On expiration of the RT value, manageability engine 112 determines whether client device 102 has access to the network, 204. For the embodiments, manageability engine 112 makes the network availability determination by checking with host theft-deterrence agent 114, which performs the actual availability checking, 206, and reports back to manageability engine 112, 208.

If access to network 104 is determined to be available, manageability engine 112 establishes a network connection to theft-deterrence service 122, 210. The network connection may be a secure (TLS) connection. Therefore, manageability engine 112 and theft-deterrence service 122 may mutually authenticate each other, 212.

Upon authentication, manageability engine 112 may request for a heartbeat message from theft-deterrence service 122, 214. In various embodiments, each heartbeat request message 216 may include:

identification of the client device

the theft status currently held by manageability engine 112,

a current RT timer value (at expiration of which, manageability engine 112 is to send the heart beat request message),

a current enforcement timer (DT) value (at expiration of which, manageability engine 112 is to enforce a theft-deterrence policy on client device 102),

a current platform disable priority value,

a current encrypted data disable priority value, or

a current theft-deterrence server rendezvous priority value.

In alternate embodiment, each heartbeat request message may include more or less data.

Continue to refer to FIG. 2, on receipt of the heartbeat request message, theft-deterrence service 122 logs the connection and request data, 218. In response, theft-deterrence service 122 sends the requested heartbeat message to manageability engine 112, 220. In various embodiments, each heartbeat message 222 may include:

identification of the client device

the theft status of the client device,

an update to the RT value,

an update to the DT value,

an update to the platform disable priority value,

an update to the encrypted data disable priority value,

an update to a theft-deterrence server rendezvous priority value.

Similarly, in alternate embodiment, each heartbeat message may include more or less data, consistent with the heartbeat request message. The message may be transmitted between manageability engine 112 and theft-deterrence service 122 in any one of a number of formats, in accordance with any one of a number of messaging protocols.

Thereafter, manageability engine 112 may apply the data contained in the heartbeat message, and may report the success or failure in applying the data, 224. Theft-deterrence service 122 may log the report in its database, 226.

Referring now to FIG. 3, wherein selected operations of selected components for enforcing theft-deterrence policy or policies on a client device are illustrated. As shown, during operation, either on obtaining a stolen theft status from theft-deterrence service 122, 302 and 306, or on expiration of the DT value, 304, manageability engine 112 alerts host theft-deterrence agent 114, 308. Thereafter, manageability engine 112 causes the client device to reboot, 310.

For the embodiments, BIOS 113 is responsible for rebooting client device 102. Further, BIOS 113 is configured to obtain a system lock down status from manageability engine 112, 312. If the theft status is stolen, manageability engine 112 returns system lock down equals True to BIOS 113, 314. If the theft status is not stolen, manageability engine 112 returns system lock down equals False to BIOS 113.

On receipt of system lock down equals False, BIOS 113 would continue to complete the boot process, 316. However, on receipt of system lock down equals True, BIOS 113 would request a user of client device 102 to provide an unlock secret, 318. On receipt, BIOS 113 provides the inputted unlock secret to manageability engine 112, 320.

If the provided unlock secret is incorrect or the time allowed for its provision has expired, the client device 102 would remain locked (unable to boot). However, if the provided unlock secret is correct, manageability engine 112 notifies BIOS 113, 324. On receipt of the notification, BIOS 113 continues with the boot process, 326.

The unlock secret may be provisioned to manageability engine 112 in any one of a number of manners, including but not limited having the user provide to manageability engine 112 directly, or indirectly via theft-deterrence service 122 (with the user or an administrator (on behalf of the user) providing the info to theft-deterrence service 122 during initial service set up).

In various embodiments, a locked client device 102 may also become unlock through the receipt of an updated not stolen theft status from theft-deterrence service 122, 328.

As described earlier, in various embodiments, the theft-deterrence service may be a paid service, and in others, a free service. Regardless, in various embodiments, manageability engine 112 may register with theft-deterrence service 122 to subscribe to the service. FIG. 4 illustrates selected operations of selected components for renewing subscription of the theft-deterrence service. As illustrated, for the embodiments, on expiration of a subscription timer, 402, manageability engine 112 notifies host theft-deterrence agent 114, 404.

On receipt of the notification, host theft-deterrence agent 114 notifies the user, 406. For the embodiments, client device 102 includes browser 115. For these embodiments, user may use browser 115 to connect to theft-deterrence service 122. In various embodiments, theft-deterrence service 122 may be implemented to require or not require browser 115 to have a special plug-in to be able to connect to theft-deterrence service 122 to renew a user's theft-deterrence service subscription. Regardless, once connected, theft-deterrence service 122 may facilitate user in renewing the subscription. The renewal process may be implemented in any one of a number of manners, requiring or not requiring authentication of the user, and/or payment for the subscriptions.

Upon renewal, the plug-in of browser 115 may notify manageability engine 112 via the host theft-deterrence agent, 412 and 414, to immediately resume the request for heartbeat messages, 416 and 418. Alternatively, the request for heartbeat messages, 416 and 418 may simply resume in due course.

As described earlier, on receipt of a new heartbeat message 420, manageability engine 112 applies the data contained in the heartbeat message 420, 422, and reports the success or failure of the application to theft-deterrence service 122, 426. If the obtaining and application is immediately performed as part of the subscription renewal process, manageability engine 112 may also notify the user of successful renewal, 424, via the host theft-deterrence agent.

FIG. 5 illustrates an example computer system suitable for use as a client device or a server to practice various embodiments of the present invention. As shown, computing system 500 includes a number of processors or processor cores 502, and system memory 504. For the purpose of this application, including the claims, the terms “processor” and “processor cores” may be considered synonymous, unless the context clearly requires otherwise. When use as a client device 102, computer system 500 may further include chipset 503. Additionally, computing system 500 includes mass storage devices 506 (such as diskette, hard drive, compact disc read only memory (CDROM) and so forth), input/output devices 508 (such as display, keyboard, cursor control and so forth) and communication interfaces 510 (such as network interface cards, modems and so forth). The elements are coupled to each other via system bus 512, which represents one or more buses. In the case of multiple buses, they are bridged by one or more bus bridges (not shown).

Each of these elements performs its conventional functions known in the art. In particular, chipset 503 may be employed to practice all or some of the described aspects of manageability engine 112 (shown as 521). System memory 504 and mass storage 506 may be employed to store a working copy and a permanent copy of the programming instructions implementing, in whole or in part, the various other components, such as host theft-deterrence agent 114 or theft-deterrence service 122 (herein commonly denoted as 522), depending on whether computer system 500 is used as a client device 102 or as server 106. The various components may be implemented by assembler instructions supported by processor(s) 502 or high-level languages, such as C, that can be compiled into such instructions.

The permanent copy of the programming instructions may be placed into permanent storage 506 in the factory, or in the field, through, for example, a distribution medium (not shown), such as a compact disc (CD), or through communication interface 510 (from a distribution server (not shown)). That is, one or more distribution media having an implementation of the agent program may be employed to distribute the agent and program various computing devices.

The constitution of these elements 502-512 are known, and accordingly will not be further described.

Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described, without departing from the scope of the embodiments of the present invention. This application is intended to cover any. adaptations or variations of the embodiments discussed herein.

Therefore, it is manifestly intended that the embodiments of the present invention be limited only by the claims and the equivalents thereof. 

1. An article of manufacture comprising: computer readable storage medium; a plurality of programming instructions stored in the storage medium, the programming instructions configured to configure a manageability engine of a processor based device and to provide a host theft-deterrence agent to the processor based device, to deter theft of the processor based device, the manageability engine and the host theft-deterrence agent being configured to cooperate with each other and a theft-deterrence server, remotely disposed from the client device, to implement a theft-deterrence protocol, the host theft-deterrence agent being configured to operate in a processor operated application execution environment of the processor based device, and the manageability engine being configured to operate outside the application execution environment.
 2. The article of claim 1, wherein the programming instructions are configured to configure the manageability engine to periodically obtain a theft status of the processor based device from the remotely disposed theft-deterrence server.
 3. The article of claim 2, wherein the programming instructions are configured to configure the manageability engine to periodically obtain a heart beat message comprising the theft status of the processor based device from the remotely disposed theft-deterrence server.
 4. The article of claim 3, wherein the programming instructions are configured to configure the manageability engine to periodically send a heart beat request message to the remotely disposed theft-deterrence server, to periodically obtain the heart beat message.
 5. The article of claim 4, wherein each heart beat request message comprises at least a selected one of: the theft status currently held by the manageability engine, a current first timer value, at expiration of which, the manageability engine is to send the heart beat request message; or a current second timer value, at expiration of which, the manageability engine is to enforce a theft-deterrence policy on the processor based device.
 6. The article of claim 5, wherein each heart beat request message further comprises at least a selected one of: a current platform disable priority value, a current encrypted data disable priority value, or a current theft-deterrence server rendezvous priority value.
 7. The article of claim 1, wherein the programming instructions are further configured to program the manageability engine to send the host theft-deterrence agent an alert on expiration of a timer value or when the theft status denotes stolen status.
 8. The article of claim 1, wherein the programming instruction are further configured to program the manageability engine to invoke a boot process to reboot the processor based device, and to provide the boot process with a lock down instruction to abort boot up of the processor based device to lock down the processor based device.
 9. The article of claim 8, wherein the programming instruction are further configured to program the manageability engine to allow the boot process to provide an appropriate secret to unlock the processor based device.
 10. A system comprising: a processor; a wire line based networking interface coupled to the processor to couple the system to a network; and a theft-deterrence service to be operated by the processor to deter theft of each of one or more remotely disposed processor based devices by jointly implementing a theft-deterrence protocol with a manageability engine of each of the processor based device, via the networking interface and a host theft-deterrence agent of the processor based device, the host theft-deterrence agent of each processor based device being configured to operate in a processor operated application execution environment of the processor based device, and the manageability engine being configured to operate outside the application execution environment of the processor based device.
 11. The system of claim 10, wherein the theft-deterrence service is configured to provide the manageability engine of each processor based device with a theft status of the processor based device in response to a request of the processor based device, the manageability engine of each processor based device being configured to periodically obtain the theft status of the processor based device from the theft-deterrence service.
 12. The system of claim 11, wherein the theft-deterrence service is configured to provide the manageability engine of each processor based device with a heart beat message comprising the theft status of the processor based device in response to a request of the processor based device, the manageability engine of each processor based device being configured to periodically obtain the heart beast message from the theft-deterrence service.
 13. The system of claim 12, wherein each heart beat message comprises at least a selected one of: the theft status of the processor based device, an update to a first timer value, at expiration of which, the manageability engine of the processor based device is to request for the heart beat message; or an update to a second timer value, at expiration of which, the manageability engine of the processor based device is to enforce a theft-deterrence policy on the processor based device.
 14. The system of claim 13, wherein each heart beat request message further comprises at least a selected one of: an update to a platform disable priority value, an update to an encrypted data disable priority value, or an update to a theft-deterrence server rendezvous priority value.
 15. The system of claim 10, wherein the theft-deterrence service is further configured to accept subscription and register each of the one or more processor based device for joint implementation of the theft-deterrence protocol to deter theft of the processor based devices.
 16. The system of claim 15, further comprising a disk storage coupled to the processor, and a database stored in the disk storage to store subscription information of the one or more processor based devices.
 17. A method comprising: a manageability engine of a processor based device determining whether a theft status of the processor based device is stolen, on expiration of a timer value; the manageability engine, on determining that the theft status of the processor based device is stolen, alerting a host theft-deterrence agent of the processor device, the host theft-deterrence agent being operated in a processor operated application execution environment of the processor based device, and the manageability engine being operated outside the application execution environment; the host theft-deterrence agent, on receipt of the alert, causing the processor based device to be re-booted; a boot process of the processor based device, on booting the processor based device, obtaining the theft status from the manageability engine, and in response, conditionally abort the boot process to enforce a theft-deterrence policy on the processor based device.
 18. The method of claim 17, wherein the boot process aborts the boot process to lock down the processor based device if a user of the processor based device is unable to provide an unlock secret acceptable to the manageability engine.
 19. The method of claim 18, further comprising the boot process soliciting the unlock secret from the user, providing an inputted unlock secret to the manageability engine, and receiving an indication from the manageability engine indicating whether the provided unlock secret is acceptable to the manageability or not.
 20. The method of claim 17 further comprising the host theft agent assisting the manageability engine to periodically obtain updates to the theft status and the time value from a remotely disposed theft-deterrence service. 